Make GtkComboBox work without model. (#144198, Mariano Suárez-Alvarez)
authorMatthias Clasen <maclas@gmx.de>
Tue, 15 Jun 2004 05:12:27 +0000 (05:12 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Tue, 15 Jun 2004 05:12:27 +0000 (05:12 +0000)
Tue Jun 15 01:10:32 2004  Matthias Clasen  <maclas@gmx.de>

* gtk/gtkcombobox.c: Make GtkComboBox work without model.
(#144198, Mariano Suárez-Alvarez)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkcombobox.c

index 32d55a534d6806dc8d176ac32b860a46eed1b459..f61cc95ea8772416ca9bc1b86363c0e475ce0889 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jun 15 01:10:32 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkcombobox.c: Make GtkComboBox work without model.  
+       (#144198, Mariano Suárez-Alvarez)
+       
 Fri Jun 11 22:05:56 2004  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkfilechooserdefault.c: Don't use
index 32d55a534d6806dc8d176ac32b860a46eed1b459..f61cc95ea8772416ca9bc1b86363c0e475ce0889 100644 (file)
@@ -1,3 +1,8 @@
+Tue Jun 15 01:10:32 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkcombobox.c: Make GtkComboBox work without model.  
+       (#144198, Mariano Suárez-Alvarez)
+       
 Fri Jun 11 22:05:56 2004  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkfilechooserdefault.c: Don't use
index 32d55a534d6806dc8d176ac32b860a46eed1b459..f61cc95ea8772416ca9bc1b86363c0e475ce0889 100644 (file)
@@ -1,3 +1,8 @@
+Tue Jun 15 01:10:32 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkcombobox.c: Make GtkComboBox work without model.  
+       (#144198, Mariano Suárez-Alvarez)
+       
 Fri Jun 11 22:05:56 2004  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkfilechooserdefault.c: Don't use
index 32d55a534d6806dc8d176ac32b860a46eed1b459..f61cc95ea8772416ca9bc1b86363c0e475ce0889 100644 (file)
@@ -1,3 +1,8 @@
+Tue Jun 15 01:10:32 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkcombobox.c: Make GtkComboBox work without model.  
+       (#144198, Mariano Suárez-Alvarez)
+       
 Fri Jun 11 22:05:56 2004  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkfilechooserdefault.c: Don't use
index a21688298cefc1aff6db037f9cac22aec717061c..4f0d1d257f2b1ef8fd7b8178f7b2586047a56119 100644 (file)
@@ -2608,10 +2608,13 @@ gtk_combo_box_key_press (GtkWidget   *widget,
 {
   GtkComboBox *combo_box = GTK_COMBO_BOX (data);
   guint state = event->state & gtk_accelerator_get_default_mod_mask ();
-  gint items = gtk_tree_model_iter_n_children (combo_box->priv->model, NULL);
+  gint items = 0;
   gint index = gtk_combo_box_get_active (combo_box);
   gint new_index;
 
+  if (combo_box->priv->model)
+    items = gtk_tree_model_iter_n_children (combo_box->priv->model, NULL);
+
   if ((event->keyval == GDK_Down || event->keyval == GDK_KP_Down) && 
       state == GDK_MOD1_MASK)
     {
@@ -2657,8 +2660,9 @@ gtk_combo_box_key_press (GtkWidget   *widget,
     default:
       return FALSE;
     }
-  
-  gtk_combo_box_set_active (combo_box, CLAMP (new_index, 0, items - 1));
+      
+  if (items > 0)
+    gtk_combo_box_set_active (combo_box, CLAMP (new_index, 0, items - 1));
 
   return TRUE;
 }
@@ -2706,12 +2710,16 @@ gtk_combo_box_list_key_press (GtkWidget   *widget,
   if (event->keyval == GDK_Return || event->keyval == GDK_KP_Enter ||
       event->keyval == GDK_space || event->keyval == GDK_KP_Space) 
   {
-    gboolean ret;
+    gboolean ret = FALSE;
     GtkTreeIter iter;
     GtkTreeModel *model = NULL;
-    GtkTreeSelection *sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (combo_box->priv->tree_view));
     
-    ret = gtk_tree_selection_get_selected (sel, &model, &iter);
+    if (combo_box->priv->model)
+      {
+       GtkTreeSelection *sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (combo_box->priv->tree_view));
+    
+       ret = gtk_tree_selection_get_selected (sel, &model, &iter);
+      }
     if (ret)
       {
        GtkTreePath *path;